public class Test {
    public static int removeElement(int[] nums, int val) {
        int size=nums.length;
        int right=0;
        int left=nums.length-1;

        while(right<left&&left>0){
            while(nums[left]==val&&left>0){
                left--;
            }
            if(nums[right]==val){
                int tmp=nums[right];
                nums[right]=nums[left];
                nums[left]=tmp;
                left--;
            }
            right++;
        }
        for(int i=0;i<nums.length;i++){
            if(nums[i]==val){
                size--;
            }
        }
        return size;
    }

    public static void main(String[] args) {
       int[] nums = {2,4,4,4,0};
       removeElement(nums,4);
    }
}
